#ifndef __INKLUDE_C_TASK_GROUP_H__
#define __INKLUDE_C_TASK_GROUP_H__

#include <Inklude/Inklude.h>
#include <functional>

namespace tbb
{
    class task_group;
}

namespace Inklude
{
    class INKLUDE_CLASS_EXPORT ikCTaskGroup
    {
    public:
        ikCTaskGroup();
        ~ikCTaskGroup();
        inline void Run(std::function<void()>& Func);
        inline void Wait();
    protected:
    private:
        tbb::task_group* m_pTaskGroup;
    };
}

#endif // __INKLUDE_C_TASK_GROUP_H__

